home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 3 / Cream of the Crop 3.iso / comm / wnos5src.zip / DEVPARAM.C < prev    next >
Text File  |  1993-08-09  |  1KB  |  74 lines

  1. #include <string.h>
  2. #include <ctype.h>
  3. #include "global.h"
  4. #include "devparam.h"
  5.  
  6. struct param {
  7.     int number;
  8.     char *name;
  9. };
  10.  
  11. static struct param Parms[] = {
  12.     PARAM_DATA,        "Data",
  13.     PARAM_TXDELAY,    "TxDelay",
  14.     PARAM_PERSIST,    "Persist",
  15.     PARAM_SLOTTIME,    "SlotTime",
  16.     PARAM_TXTAIL,    "TxTail",
  17.     PARAM_FULLDUP,    "FullDup",
  18.     PARAM_HW,        "Hardware",
  19.     PARAM_MUTE,        "TxMute",
  20.     PARAM_DTR,        "DTR",
  21.     PARAM_RTS,        "RTS",
  22.     PARAM_SPEED,    "Speed",
  23.     PARAM_ENDDELAY,    "EndDelay",
  24.     PARAM_GROUP,    "Group",
  25.     PARAM_IDLE,        "Idle",
  26.     PARAM_MIN,        "Min",
  27.     PARAM_MAXKEY,    "MaxKey",
  28.     PARAM_WAIT,        "Wait",
  29.     PARAM_DOWN,        "Down",
  30.     PARAM_UP,        "Up",
  31.     PARAM_BLIND,    "Blind",
  32.     PARAM_STRING,    "String",
  33.     PARAM_RETURN2,    "Return2",
  34.     PARAM_RETURN,    "Return",
  35.     -1,                NULLCHAR,
  36. };
  37.  
  38. /* Convert a packet radio interface control token into a number
  39.  * Used by the various ioctl routines and by KISS TNC commands
  40.  */
  41. int
  42. devparam(char *s)
  43. {
  44.     int len = strlen(s);
  45.     struct param *sp = &Parms[0];
  46.  
  47.     if(isdigit(s[0])) {
  48.         return atoi(s);
  49.     }
  50.     while(sp->number != -1) {
  51.         if(strnicmp(s,sp->name,len) == 0) {
  52.             return sp->number;
  53.         }
  54.         sp++;
  55.     }
  56.     return -1;
  57. }
  58.  
  59. char *
  60. parmname(int n)
  61. {
  62.     struct param *sp = &Parms[0];
  63.  
  64.     while(sp->number != -1) {
  65.         if(sp->number == n) {
  66.             return sp->name;
  67.         }
  68.         sp++;
  69.     }
  70.     return NULLCHAR;
  71. }
  72.  
  73.  
  74.